class Car():
    """простоя модель автомобиля"""

    def __init__(self, make, model, year):
        """Здесь инициализируем атрибуты описания автомобиля"""
        self.make = make
        self.model = model
        self.year = year
        """Добавим атрибут с именем, исходное значение которого всегда равно 0"""
        self.odometr_reading = 0

    def get_descriptive_name(self):
        """Функция возвращает аккуратно отформатированное описание автомоблия"""
        long_name = f"{self.year} {self.make} {self.model}"
        return long_name.title()
    
    def read_odometr(self):
        """Выведем пробег автомобиля"""
        print(f"Пробег составляет {self.odometr_reading} км.")

    def update_odometr(self, kilometers):
        """Меняем значение атрибута с помощью метода"""
        # self.odometr_reading = kilometers
        """При попытке обратной прокрутки изменение показаний одометра отклоняется"""
        if kilometers >= self.odometr_reading:
            self.odometr_reading = kilometers
        else:
            print("Вы хотели скрутить показания одометра")

    def increment_odometr(self, kilometer):
        """Увеличивает показания одометра с заданным приращением"""
        self.odometr_reading += kilometer

my_used_car = Car('subaru', 'outback', 2015)
print(my_used_car.get_descriptive_name())

my_used_car.update_odometr(23_500)
my_used_car.read_odometr()

my_used_car.increment_odometr(188)
my_used_car.read_odometr()
    
    
my_new_car = Car('audi', 'a3', 2013)
print(my_new_car.get_descriptive_name())
my_new_car.update_odometr(25)
my_new_car.read_odometr()
"""Вызываем метод изменения значения атрибута и передаем ему новое значение"""
my_new_car.update_odometr(20)
my_new_car.read_odometr()

"""Меняем значение атрибута прямо через экземпляр класса"""
# my_new_car.odometr_reading = 25
# my_new_car.read_odometr()



